1. Field of the Invention
The present invention generally relates to a system and a method for data storage, in particular, to a system, a controller, and a method which can control a host to identify storage devices and store data accordingly.
2. Description of Related Art
Along with the development of semiconductor technology, the storage capacities of memories have been greatly increased while the prices thereof are relatively reduced. Flash memory is one of the most adaptable memories for portable products due to its characteristics such as non-volatility, low power consumption, small volume, and non-mechanical structure. Accordingly, a solid state disk (SSD) which uses a NAND flash memory as its data storage medium has been developed in recent years. In a SSD, the mechanical structure of a conventional storage device is replaced by the characteristics of a flash memory, and data is accessed through block writing and erasing. As a result, the access efficiency of SSD can be greatly improved, and compared to a conventional storage device, a SSD is highly resistant to vibration and low temperature and offers low power consumption and high stability.
NAND flash memories can be categorized into single level cell (SLC) NAND flash memory (referred as SLC thereinafter) and multi level cell (MLC) NAND flash memory (referred as MLC thereinafter). A SLC uses a group of high/low voltages for identifying two different electric charges (including 0 and 1), and a MLC uses a higher driving voltage and records two-bit information (including 00, 01, 11, and 10) with voltages of different levels. Accordingly, the density of data recorded in a MLC is two times of that in a SLC. Since a SLC has simple structure and low voltage variation while writing data, the lifespan thereof is relatively long. As to a MLC, in order to increase the recording capacity thereof, the voltage range thereof is smaller and more space for cyclic redundancy check (CRC) is required. Besides, because the voltage changes frequently, a MLC can only be accessed about 10,000 times, which is far less than the 100,000 times of a SLC.
In overview, SLC has advantages in its lifespan and performance but offers low storage capacity and high cost, while MLC is disadvantageous in its speed and lifespan even though it offers high storage capacity. In order to reduce the cost without affecting the performance, conventionally, both a SLC and a MLC are disposed in the same host, wherein the faster SLC is used for recording important and frequently-accessed operating system (OS) information, and the low-cost MLC is used for recording general data files, so that the requirements to low cost and high performance can be both met.
In order to prolong the lifespan of a SSD, how to effectively manage the blocks for writing data so that the SLC and the MLC can have the optimized efficiency has become one of the most important subjects in the industry. However, in an existing product disposed with both a SLC and a MLC, a host can only treat the two storage devices as a single storage device but cannot recognize them as two different storage devices (for example, as drive C and drive D). Accordingly, the management of data writing is complicated.